﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Cesave.Domain.PermisosModule.Entities;
using Cesave.Infrastructure.Data.Core;
using System.Data.Objects;

namespace Cesave.Infrastructure.Data.PermisosModule.Mock
{
	public partial class PermisosModuleFakeContext
	{
		static List<Acl> _acl;

		private void InitiateInnerAclCollection()
		{
			if (_acl == null)
				_acl = new List<Acl>
				{
					new Acl
					{
						AclGuid = new Guid("75F4DD31-55AA-43E0-A783-A3BD065D2F1B"),
						AclId = 1,
						Nombre = "Administrator",
						Descripcion = "Puede realizar todas las tareas",
						Status = true,
					},
					new Acl
					{
						AclGuid = new Guid("C02C5212-0CCC-4C3A-9ABE-BA5662E17A1F"),
						AclId = 2,
						Nombre = "Editar",
						Descripcion = "Puede unicamente realizar cambios a los catálogos",
						Status = true,
					},
					new Acl
					{
						AclGuid = new Guid("88FB792D-8728-4D1F-8B3A-DFA6E5DC0526"),
						AclId = 3,
						Nombre = "Agente",
						Descripcion = "Solo puede expedir y modificar ciertos catálogos",
						Status = true,
					},
				};
		}

		private IObjectSet<Acl> CreateAclObjectSet()
		{
			return _acl.ToInMemoryObjectSet();
		}

		private void InitiateFakeAcl()
		{
			AclGet = () => CreateAclObjectSet();
			CreateObjectSet<Acl>(() => CreateAclObjectSet());
		}

	}
}
